home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
whitelin
/
share
/
boxkite
/
boxkite.doc
< prev
next >
Wrap
Text File
|
1995-11-25
|
83KB
|
1,572 lines
BoxKite V 1.72
==============
---- Just another file selector ----
1. Was ist und was soll BoxKite?
--------------------------------
BoxKite ist eine kleine, handliche, saubere, kompatible
Dateiauswahlbox. Er hängt sich ins TOS ein und wartet darauf, daß ein
Anwendungsprogramm die GEM-eigene Dateiauswahlbox anzeigen möchte.
Dann schiebt er sich dazwischen und zeigt stattdessen seine eigene Box
an. Diese bietet einige Möglichkeiten, die weit über die in den ROMs
enthaltene Box himausgehen und hält sich dabei an gewisse Standards,
die sich im Laufe der Zeit herauskristallisiert haben. So ist es etwa
möglich, mehrere Dateien auf einmal zu selektieren; Sie können Dateien
aus BoxKite heraus kopieren oder löschen und Sie können BoxKite (fast)
vollständig mit der Tastatur bedienen. Darüber hinaus können Sie
BoxKite in vielerlei Hinsicht an Ihre Vorlieben anpassen - sogar in
der Größe. BoxKite dürfte der erste Fileselector mit dieser
Eigenschaft sein.
Vor allen Dingen aber ist BoxKite zukunftssicher: Er kann unter
MiNT/MultiTOS mit langen Dateinamen mit gemischter Groß- und
Kleinschreibung umgehen. Das erscheint zwar noch nicht wichtig, ich
bin aber davon überzeugt, daß sich irgendwann vernünftige Dateisysteme
durchsetzen werden.
Ein paar Worte zur Entstehung
-----------------------------
Mein Texteditor SCEdit enthielt eigentlich schon immer einen eigenen
Fileselector. Ich bin also vorbelastet. Für eine neue SCEdit-Version
entstand eine erweiterte Dialogbibliothek (Für Kenner: Es handelt sich
um eine quasi objektorientiertes System unter Pure C. So ist etwa die
Dateiliste in BoxKite EIN Objekt.), die auch eine Dateiauswahl als
vordefinierten Dialog enthalten sollte. Sine qua non war dabei die
MiNT-Anbindung und der korrekte Umgang mit langen Dateinamen. Etwa um
diese Zeit fiel mir Stefan Radermachers Selectric™ in die Hände, der
etliche hervorragende Ideen enthält, aber eben MiNT und die
erweiterten Dateisysteme leider (noch?) nicht unterstützt. Da habe ich
dann gemerkt, daß es noch keinen wirklich komfortablen Fileselector
gibt, der dies leistet. So nahm das Schicksal seinen Lauf...
Meine persönlichen Daten:
Harald Becker
Ferrenbergstraße 41
51465 Bergisch Gladbach
Konto 1311 045 876, Kreissparkasse Köln
(Bankleitzahl 370 502 99)
Email: Harald Becker @ K (Mausnetz)
2. Juristisches
---------------
BoxKite ist SHAREWARE. Sie haben die Möglichkeit, das Programm vier
Wochen lang zu testen. Bei regelmäßiger Benutzung über diesen Zeitraum
hinaus haben Sie eine Sharewaregebühr von 20,-- DM an mich zu
entrichten (Bankverbindung siehe oben oder unter dem Menupunkt "Über
BoxKite"). Geben Sie bei Überweisungen bitte unbedingt den Zweck und
Ihre Adresse mit an, da ich das Geld sonst nicht zuordnen kann. Es ist
auch sinnvoll, wenn Sie mir mitteilen, welche Version von BoxKite
Ihnen da in die Hände gefallen ist.
Nach schlechten Erfahrungen mit vorangegengenen Shareware-Projekten
sah ich mich leider dazu gezwungen, die öffentliche Version von
BoxKite leicht einzuschränken. Die Funktionen "Arbeit sichern",
"Verschieben" und "Touch" sind erst in der Vollversion verfügbar. Das
bedeutet insbesondere, daß Sie erst in der Vollversion eine
Konfiguration abspeichern und damit BoxKite dauerhaft Ihrem Geschmack
anpassen können. Nach Zahlung der Shareware-Gebühr erhalten Sie von
mir schnellstmöglich einen Schlüssel, mit dem Sie die öffentliche
Version in eine mit Ihrem Namen personalisierte Vollversion verwandeln
können. Beachten Sie aber bitte, daß Sie eine personalisierte Version
nicht weitergeben dürfen. Andernfalls verstoßen Sie gegen geltendes
Recht.
Da die oben beschriebenen Einschränkungen dem Vernehmen nach leider
nicht ausreichten alle potentiellen Anwender zu einem korrekten
Verhalten zu bewegen, wird seit Version 1.60 darüber hinaus in
unregelmäßigen Abständen beim Verlassen der Box mit "Ok" einen
Hinweis zur Erinnerung ausgeben. Dies führt aber zu keiner
Einschränkung der Testmöglichkeiten.
Die öffentliche Version von BoxKite dürfen (und sollen) Sie nach
Belieben weitergeben. Voraussetzung ist dabei, daß Sie die
Zusammenstellung der Dateien im Ordner nicht verändern. Ferner dürfen
Sie die Programm- und Dokumentationsdateien nicht modifizieren und
vor allen Dingen keinen Copyrightvermerk entfernen oder verändern.
Ausnahme: Sie dürfen das vollständige Paket mit einem Archivprogramm
(ARC, ZIP o. ä.) komprimieren.
Alternativ zum Shareware-Vertrieb ist eine exklusive Vollversion von
BoxKite in der whiteline-Serie der Firma delta labs media
erhältlich. Diese umfaßt ein gedrucktes Handbuch und kostet 30,-- DM.
Wenn Sie eine solche Vollversion mit gedrucktem Handbuch erworben
haben, haben Sie keine weiteren Verpflichtungen mehr an mich. Diese
Vollversion dürfen Sie natürlich NICHT weitergeben. Bezugsadresse:
delta labs software
Brillerstraße 40
42105 Wuppertal
Bedenken Sie bitte, daß auch in einem 'kleinen' Programm wie BoxKite
eine Menge an Entwicklungsarbeit steckt. Ich habe allein einige Monate
darauf verwendet, das Programm so 'klein' (d. h. speichersparend) wie
möglich zu gestalten.
Zuletzt muß noch dies gesagt werden:
Ich, Harald Becker, kann keine Haftung für irgendwelche direkten oder
indirekten Schäden - einschliesslich, aber nicht beschränkt auf
materielle oder finanzielle - übernehmen, die durch die Benutzung von
BoxKite oder die Untauglichkeit von BoxKite für einen bestimmten Zweck
entstehen.
Vorgehen zur Registrierung
--------------------------
Die whiteline-Vollversion von BoxKite brauchen Sie natürlich nicht
mehr zu registrieren. In diesem Falle können Sie also die folgenden
Erläuterungen überspringen.
Vor der Registrierung ziehen Sie am besten eine Sicherheitskopie der
öffentlichen Version von BoxKite, da Sie - wie gesagt - eine
personalisierte Version nicht mehr weitergeben dürfen. Wenn Sie dann
in der öffentlichen Version im Menu "Funktionen" den Eintrag "Über
BoxKite" auswählen, finden Sie dort einen Knopf "Registrieren". Ein
Klick auf diesen Knopf führt Sie weiter in eine Dialogbox mit zwei
Textfeldern, in die Sie dann Ihren Namen und den Schlüssel eingeben
sollten. Wenn Sie BOXKITE.PRG unter diesem Namen im AUTO-Ordner Ihres
Bootlaufwerks installiert haben, geschieht alles weitere automatisch.
Andernfalls fragt BoxKite Sie, wo sich BOXKITE.PRG befindet. Wechseln
Sie dann einfach in BoxKite in das entsprechende Verzeichnis und
selektieren Sie die entsprechende Datei. Dann wird diese Datei in Ihre
persönliche Vollversion von BoxKite verwandelt. Den Schlüssel sollten
Sie sich notieren, da sie damit auch eventuelle Updates von BoxKite
personalisieren können, ohne sich erneut mit mir in Verbindung zu
setzen.
Seit der Version 1.60 werden bei "Arbeit sichern" der Benutzername und
der Schlüssel in BOXKITE.INF gespeichert. Bei einer Neuinstallation
werden diese Daten dann in den Registrierungsdialog eingesetzt, so daß
Sie diese Angaben nur noch mit "Ok" zu bestätigen brauchen.
3. Installation
---------------
Zum BoxKite-Paket gehören diese Programme:
- BOXKITE.PRG: Das eigentliche residente Programm.
- BOXKITE.ACC: Ein kleines Accessory, das es gestattet, BoxKite an-
und abzuschalten oder ihn mal eben auf den Bildschirm zu bringen, um
eine Datei zu kopieren oder zu suchen oder... Sie können dieses
Programm auch in BOXKITE.APP umbenennen und dann einfach durch
Doppelklick vom Desktop aus starten. (Es ist auch möglich, daß sich
diese Datei als schon als BOXKITE.APP in der Distribution befindet.)
- BOXKITE.CPX: Ein Modul fürs neue Kontrollfeld XCONTROL,
funktionsgleich mit BOXKITE.ACC.
- BEISPIEL.C: Ein Beispielprogramm im Quelltext, das den Abruf
mehrerer Dateinamen über 'get_first' und 'get_next' demonstriert. An
MultiTOS und lange Dateinamen angepaßt. Seit Version 1.71 auch eine
Demonstration der erweiterten Schnittstelle, über die BoxKite den
Neuaufbau der Hintergrundfenster an die Hauptanwendung delegieren
kann.
- BOXINPUT.S, BOXINPUT.O: Module zur Unterstützung der erweiterten
Schnittstelle.
Da die TOS-Landschaft inzwischen etwas komplizierter geworden ist,
gibt es zur Installation verschiedene Möglichkeiten, die je nach
TOS-Version und sonstiger Software-Ausstattung mehr oder weniger
empfehlenswert sind:
1. Einfaches TOS: Hier empfiehlt es sich, BOXKITE.PRG in den
AUTO-Ordner zu kopieren und den Rechner neu zu starten. Dann ist
BoxKite ins Betriebssystem integriert und steht jederzeit zur
Verfügung.
Hinweis: Wenn man bei TT- oder Mega-STE-TOS im Desktop eine neue
.INF-Datei liest, erscheint immer die gewöhnliche TOS-Auswahlbox. Das
ist ein Problem von TOS; es liegt daran, daß bei diesen (wie auch bei
allen älteren) Versionen der Desktop keine GEM-Anwendung, sondern ein
integraler Teil von GEM ist. MultiTOS ist da intelligenter...
2. Einfaches TOS mit MiNT 0.95 oder höher (ältere MiNT-Versionen
sollte sowieso niemand mehr benutzen): Auch hier können Sie BoxKite
einfach im AUTO-Ordner installieren; vorzugsweise so, daß er nach
MINT.PRG gestartet wird. Es gibt aber noch eine hübschere Möglichkeit:
Beim Booten arbeitet MiNT die Steuerdatei MINT.CNF ab, die auch
Befehle zum Starten von Programmen enthalten kann. Diese Programme
kommen nach der Initialisierung von MiNT zum Zuge, und zwar in der
Reihenfolge, in der sie in MINT.CNF aufgeführt sind. Dabei können sie
in ganz beliebigen Ordnern stehen. In dieser Situation erhält BoxKite
die Gelegenheit, sich auf MiNT einzustellen. Fazit: Unter MiNT sollten
Sie in Ihre MINT.CNF die Zeile
exec C:\BOXKITE.PRG
einfügen und den Rechner neu starten. Wenn BOXKITE.PRG in einem Ordner
steht, sollten Sie natürich den entsprechenden vollständigen Pfad
benutzen.
3. MultiTOS: Da MultiTOS auf MiNT aufgebaut ist, gilt hier dasselbe,
was zu MiNT gesagt wurde. Zusätzlich ist es hier erforderlich,
entweder das Accessory BOXKINST.ACC oder die Kontrollfelderweiterung
BOXKINST.CPX zu mitzubooten. Sie sorgen für die saubere Installation
von BoxKite im Betriebssystem. Dies gilt zumindest in den
MultiTOS-Versionen, die ich bisher kenne. Es ist immer möglich, daß
Atari da plötzlich etwas ändert. Dann werde ich BoxKite
schnellstmöglich anpassen.
4. MagiC (ich glaube, jetzt weiß ich, wie man das schreibt): Hier gilt
dasselbe wie unter normalem TOS.
Sie können BOXKITE.PRG auch in jedem Falle vom Desktop aus starten.
Dann wird BoxKite ebenfalls resident installiert. Für einen kleinen
Test ist diese Methode ausreichend, sie hat aber zwei Nachteile: Zum
einen kann sie zu einem ineffizienten Verhalten der Speicherverwaltung
führen (Fragmentierung), und zum anderen wird dann GEM bei einem
Auflösungswechsel gnadenlos abstürzen. Das ist ein Problem von TOS,
für das es wahrscheinlich keine saubere Lösung gibt.
Unverträglichkeiten von BoxKite mit anderen residenten Programmen sind
mit einer Ausnahme nicht bekannt. Damit er sich aber nicht mit anderen
residenten Fileselektoren ins Gehege kommt, prüft er beim Start, ob im
Cookie-Jar von TOS bereits ein Cookie namens 'FSEL' existiert. Wenn
dies der Fall ist, installiert sich BoxKite nicht im System.
Die o. a. Ausnahme ist MultiDesk von Codehead. Dieser
Accessory-Expander ist ziemlich unsauber programmiert; insbesondere
benutzt er zum Verbiegen der Systemvektoren nicht das XBRA-Verfahren.
Das führt dazu, daß BOXKINST.CPX abstürzt. BOXKINST.ACC müßte dagegen
laufen.
*** ACHTUNG ***
Wenn Sie von BoxKite 1.2x oder 1.4x nach BoxKite 1.6x wechseln,
sollten Sie vor dem ersten Systemstart mit dem neuen BoxKite Ihre
bisherige BOXKITE.INF (im Wurzelverzeichnis Ihres Bootlaufwerkes)
löschen oder umbenennen. Mit "Arbeit sichern" können Sie als
registrierter Benutzer jederzeit eine neue Konfiguration speichern.
4. Bedienung
------------
Gewisse Ähnlichkeiten mit der Standard-GEM-Box oder anderen
Ersatzprodukten kann BoxKite nicht verleugnen: So gibt es auch hier
eine Dateiliste, ein Eingabefeld für den aktuellen Ordner, eines für
den Dateinamen und die Knöpfe "Ok" und "Abbruch", daneben aber auch
einiges mehr.
Zunächst einige allgemeine Bemerkungen:
1. Eine grafische Benutzerschnittstelle läßt sich eigentlich gar nicht
beschreiben; man muß damit herumspielen. Am besten drucken Sie also
diesen Text aus, legen ihn neben Ihren Rechner und bringen BoxKite
irgendwie auf den Bildschirm, im Zweifel mit BOXKINST.ACC oder
BOXKINST.CPX. Wenn Sie dann beim Durchlesen auf eine interessante
Möglichkeit stoßen, probieren Sie es sofort aus. So gewinnen Sie den
besten Überblick über die (nicht gerade wenigen) Möglichkeiten von
BoxKite.
2. Mit BoxKite können Sie mehrere Dateien auf einmal auswählen, sofern
das aufrufende Programm dies zuläßt. Hierzu wird dasselbe Protokoll
wie in Selectric™ 1.02 verwendet. Alle Programme, die Selectric™ in
diesem Sinne unterstützen, unterstützen damit auch BoxKite. Dies
können Sie z. B. mit GemView oder 1stGuide testen. (Ich liebe
BiKapitalisierungen!) Manche Programme verkraften nur eine bestimmte
Anzahl von Dateien und teilen dies BoxKite mit; sollten Sie in einem
solchen Fall mehr Dateien ausgewählt haben, so warnt BoxKite Sie mit
einem Piepton (es sei denn, Sie haben im Kontrollfeld den Lautsprecher
abgewürgt) und übergibt dem Programm nur die obersten Dateien.
3. Wie schon erwähnt ist BoxKite (fast) komplett mit der Tastatur
bedienbar und signalisiert dies (wiederum fast) überall durch die
Bildschirmdarstellung. Wenn etwa ein Knopf in seiner Beschriftung
einen unterstrichenen Buchstaben aufweist, so können Sie ihn (den
Knopf) auch "anklicken", indem Sie die Buchstabentaste zusammen mit
"Alternate" drücken.
Um wirklich restlos alle Dialogobjekte mit der Tastatur bedienbar zu
machen, wird in BoxKite das Konzept des Tastaturfokus angewendet.
Dahinter steckt folgendes: Stellen Sie sich eine ganz normale
GEM-Dialogbox mit mehreren Texteingabefeldern vor. Wenn Sie dann ein
Zeichen eingeben, dann landet dieses Zeichen in dem Eingabefeld, in
dem gerade der Eingabecursor (der dünne Strich) steht. Man kann also
sagen, daß dieses Objekt gerade mit der Tastatur "verdrahtet" ist,
oder, vornehm ausgedrückt: Der Tastaturfokus steht gerade auf diesem
Objekt.
Diese Methode wird in BoxKite etwas verallgemeinert. Da z. B. die
Dateiliste in BoxKite keinen Cursor kennt und da etwa das Pfadfeld in
BoxKite breiter werden kann als der am Bildschirm sichtbare
Ausschnitt, wird dasjenige Objekt, das gerade im obigen Sinne an die
Tastatur angeschlossen ist, mit einem doppelten Rahmen kenntlich
gemacht. Dieser Rahmen stellt den Tastaturfokus dar.
Den Tastaturfokus (d. h. den doppelten Rand) versetzen Sie mit der
"Tab"-Taste zum nächsten, mit "Shift-Tab" zum vorherigen Objekt.
4. Einige Knöpfe in BoxKite enthalten Pop-Up-Menus (PopUps, BeamUps,
JazzUps, SonstWasUps), die eine Reihe von Unterpunkten zur Auswahl
anbieten. Diese Menus können Sie genauso bedienen wie die Drop-Down
Menus in (fast) jedem GEM-Programm, indem Sie mit losgelassener
Maustaste darüberfahren und einen Punkt anklicken. Sie können aber
auch die Maustaste festhalten und darüberfahren; wenn Sie dann die
Maustaste über einem Punkt loslassen, wird dieser angewählt. Ebenso
können Sie die Maus ganz in weglassen und mit den Tasten "Pfeil auf"
und "Pfeil ab" einen Punkt markieren und diesen mit "Return"
auswählen. Mit "Esc" bringen Sie das Menu wieder zum Verschwinden,
ohne etwas auszuwählen, ebenso wie mit einem Klick bzw. dem Loslassen
der Maustaste außerhalb des Menus. Mit dem Druck auf eine Buchstaben-
oder Zifferntaste können Sie den jeweils nächsten Punkt direkt
anspringen, der mit diesem Buchstaben bzw. dieser Ziffer beginnt. Dies
klappt leider nicht mit den Umlauten. Um also den Menupunkt "Über
BoxKite" direkt anzufahren, müssen Sie ein 'b' drücken.
5. BoxKite stellt auch die wichtigsten Dateioperationen wie Kopieren,
Löschen, etc. zur Verfügung. Diese Operationen arbeiten rekursiv, d.
h. wenn ein Ordner betroffen ist, werden auch alle darin enthaltenen
Dateien und weiteren Ordner bearbeitet. Wenn man also etwa einen
Ordner kopiert oder löscht, wird - genau wie im Desktop - sein
vollständiger Inhalt mitkopiert oder -gelöscht. Solche Operationen
können schon mal etwas dauern. Wenn Ihnen das zu langweilig wird (oder
wenn Sie feststellen, daß Sie einen Fehler gemacht haben) können Sie
jede derartige Operation mit den Tasten "Esc" oder "Undo" abbrechen.
6. In BoxKite können Sie, genau wie in der Standardbox, die Anzeige
auf Dateien beschränken, die auf ein bestimmtes Suchmuster passen.
Namen, die Sie momentan nicht interessieren, brauchen Sie also noch
nicht einmal anzusehen. Die Art, wie diese Suchmuster eingegeben
werden, unterscheidet sich allerdings etwas von den bekannten
TOS-Wildcards, die etwa in der Standardbox verwendet werden. Sie
orientiert sich an dem von UNIX her bekannten Standard, auch
'globbing' genannt, der sich auch in der ATARI-Welt so peu a peu
durchsetzt und wesentlich flexibler ist. Es sind folgende Jokerzeichen
möglich:
- '?': Steht für ein beliebiges unbekanntes Zeichen (das ist
noch genau so wie in TOS). Beispiel: 'MEMO?.TXT' paßt auf
'MEMO1.TXT' oder 'MEMO2.TXT', aber nicht auf 'MEMOREX.TXT'.
- '*': Steht für eine beliebige viele (auch 0) Zeichen. Dies
ist etwas allgemeiner als in TOS. Beispiel: '*TEST*.TXT'
paßt auf 'TEST.TXT' (hier sind beide '*' durch je 0 Zeichen
ersetzt), 'BETATEST.TXT', 'TESTER.TXT', oder 'DIETESTS.TXT'.
Dieses Beispiel würde in der Standardbox schon nicht mehr
funktionieren. Achtung: Streng nach dieser Regel wäre '*'
und nicht etwa '*.*' die Maske, die auf alle Dateinamen
paßt. Um aber alte Gewohnheiten nicht übermäßig zu stören,
übersetzt BoxKite die Maske '*.*' (die eigentlich bedeutet:
Alle Namen, die mindestens einen Punkt enthalten) schon bei
der Eingabe in '*'.
- '[...]': Eine Zeichenklasse in eckigen Klammern paßt auf
ein Zeichen aus dieser Klasse. An dieser Stelle muß TOS
passen. Beispiele: 'PROG.[CHO]' paßt auf 'PROG.C', 'PROG.H'
oder 'PROG.O'. 'MEMO[1-9].DOC' paßt auf 'MEMO1.DOC',
'MEMO2.DOC', usw. bis 'MEMO9.DOC'. Wenn das erste Zeichen
hinter '[' ein '^' ist, wird die Bedeutung der Zeichenklasse
umgedreht: 'TEST.[^A-Z]' paßt auf alle Dateien der Form
'TEST.?', wobei an der Stelle des Fragezeichens irgendein
Zeichen steht, das kein Großbuchstabe ist.
Schließlich lassen sich auch mehrere Masken durch ein Komma
',' zusammenfügen. In diesem Falle werden alle Namen
gefunden, die auf irgendeine der Masken passen. Beispiel:
'TEST.C,TEST.H' paßt auf 'TEST.C' oder 'TEST.H'.
Einige konkrete Beispiele:
- '*.APP,*.TOS,*.PRG,*.TTP,*.GTP' paßt auf alle Programme.
- '*.AC?' paßt auf alle aktiven und inaktiven Accessories.
- '*.AC[CX]' beschreibt dasselbe, nur etwas genauer.
- '*READ*ME*' paßt auf alle Namen wie 'README', 'READ.ME' etc.
- '*DESK*.IN[FX]' paßt auf aktive und inaktive 'DESKTOP.INF'-Dateien,
auch für den neuen Desktop.
Nun zu den Bedienungselementen von BoxKite im Einzelnen:
Die Titelzeile
--------------
Sie bietet Platz für einen Infotext, den das aufrufende
Anwendungsprogramm festlegt. Bei Programmen, die noch nichts von den
neueren GEM-Versionen wissen, werden Namen und Versionsnummer von
BoxKite angezeigt. Darüber hinaus kann BoxKite mit Hilfe der
Titelzeile sogar fliegen (was man bei dem Namen auch erwarten sollte):
Wenn Sie in die Kopfzeile klicken und die Maustaste festhalten, wird
BoxKite durchsichtig. Den verbliebenen "Geisterrahmen" können Sie dann
verschieben; wenn Sie die Maustaste wieder loslassen, erscheint
BoxKite an der neuen Position. Voraussetzung für diese Flugfähigkeit
ist, daß BoxKite genug freien Speicher vorfindet, um den kompletten
Bildschirmhintergrund zu retten. Ist dies nicht möglich, so fliegt er
nicht. Auch alle weiteren Dialogboxen, die BoxKite anzeigt, sind
mittels ihrer Kopfzeile flugfähig.
P. S.: BoxKite fliegt nicht "massiv", wie man es etwa von den Dialogen
in "Gemini" kennt. Das ist zwar ein hübsches Feature, kann aber -
gerade bei kleineren Bildschirmen - verdeckte Informationen auch nicht
immer freilegen. Der Nutzen scheint mir also eher zweifelhaft.
Die Dateiliste
--------------
Die Dateiliste sieht (etwa) aus wie ein Fenster im Desktop und nimmt
den größten Teil der Box ein. Sie zeigt einen Teil der Dateien im
aktuellen Ordner, die auf die aktuelle Auswahlmaske passen, an. Der
angezeigte Ausschnitt läßt sich mit Hilfe des Sliders am rechten Rand
verstellen. Die Liste enthält zusätzlich zu den Dateinamen auch die
Größe sowie das Datum und die Uhrzeit der Erstellung, sofern die
Breite der Box ausreicht. Ordner werden mit demselben Zeichen wie in
Desktop-Fenstern markiert. Zusätzlich werden Ordner und Programme in
Farbauflösungen farblich hervorgehoben. Wenn vor dem Namen eines
Objektes ein Gleichheitszeichen erscheint, dann handelt es sich bei
diesem Objekt um einen symbolischen Link (kommt nur unter MiNT vor).
Symbolische Links, die auf Objekte verweisen, die gar nicht
existieren, werden nicht angezeigt. Links werden ebenfalls farbig
angezeigt. (Die farbigen Hervorhebungen können Sie seit Version 1.70
per Option abschalten.)
Zur Mausbedienung: Die Handhabung des Sliders sollte Ihnen von den
Desktop-Fenstern her vertraut sein. In der Liste sind die gerade
ausgewählten Dateien (das können auch mehrere sein, s. o.) schwarz
hinterlegt. Die Anzahl der gerade selektierten Dateien können Sie
oberhalb der Liste ablesen. Durch einfaches Anklicken selektieren sie
eine Datei, alle anderen werden deselektiert. Ordner werden beim
Anklicken geöffnet, das können Sie aber auch auf einen Doppelklick
umstellen. Halten Sie beim Anklicken die Shift-Taste fest, so wird
nichts deselektiert; Sie selektieren diese Datei zusätzlich zu den
anderen. Halten Sie nach dem Klick die Maustaste fest und bewegen die
Maus, so werden alle überstrichenen Dateien selektiert. Am oberen oder
unteren Rand wird die Liste gescrollt. Wenn sie eine Datei durch
Anklicken selektieren und beim nächsten Klick die 'Control'-Taste
festhalten, werden alle Dateien dazwischen mit selektiert. Zwischen
den Klicks kann die Liste beliebig gescrollt werden. Damit können Sie
mit nur zwei Klicks beliebig große zusammenhängende Bereiche
selektieren. Mit einem Doppelklick auf eine Datei selektieren Sie
diese und verlassen BoxKite sofort ohne den Umweg über "Ok" oder die
"Return"-Taste.
Sie können BoxKite auch so einstellen, daß er anstelle eines
Doppelklicks auch einen einfachen Klick auf die rechte Maustaste
akzeptiert.
Zur Tastaturbedienung: In der Liste ist immer ein Dateiname eingerahmt
(es sei denn, sie ist leer). Dieser Rahmen ist der Auswahlcursor; er
dient dazu, Dateien mit der Tastatur zu selektieren. Wenn die Liste
den Tastaturfokus hat, können Sie den Auswahlcursor mit den Tasten
'Pfeil Auf' und 'Pfeil Ab' um eine Zeile auf und ab bewegen, zusammen
mit 'Shift' um eine Seite, d. h. um soviele Dateien, wie die Liste
gerade anzeigt, und mit 'Home' und 'Shift-Home' können Sie zum
Listenanfang bzw. -Ende springen. Bei diesen Bewegungen wird die Datei
unter dem Cursor automatisch selektiert. Mit 'Control-Auf' und
'Control-Ab' bewegen Sie den Rahmencursor, ohne die aktuelle Selektion
zu beeinflussen. Ein Druck auf die Leertaste selektiert die Datei
unter dem Rahmencursor und deselektiert alle anderen; mit 'Shift-Leer'
wird die Datei selektiert, ohne die anderen zu beeinflussen, und mit
'Control-Leer' können Sie Bereiche selektieren. Bei 'Shift-Leer' wird
zudem der Rahmencursor einen Eintrag weiter nach unten gesetzt, so daß
Sie schnell und bequem einen zusammenhängenden Bereich selektieren
können.
Die Tasten "Help" und "Undo" haben eine Sonderfunktion: Wenn der
Auswahlcursor auf einem Ordnernamen steht, können Sie diesen Ordner
mit "Help" öffnen, ohne daß er selektiert zu sein braucht. (Wenn er
selektiert ist, genügt "Return" - "Help" ist in diesem Falle also eine
Abkürzung für die Sequenz "Leertaste" + "Return".) Wenn der
Auswahlcursor nur auf einer Datei steht, wird diese selektiert. Mit
"Undo" oder einem Klick auf das Schließfeld (direkt über der Liste am
linken Rand, s. u.) schließen Sie den aktuellen Ordner; der Inhalt des
übergeordneten Verzeichnisses wird angezeigt. Für Selectric™-Freunde:
"Control-Backspace" tuts auch. Seit Version 1.12 können Sie BoxKite
auch so konfigurieren, daß "Undo" wie "Abbruch" wirkt.
Der Kopf der Dateiliste
-----------------------
Die Kopfzeile der Dateiliste zeigt ständig die Anzahl der selektierten
Dateien und Ordner an (es kann ja durchaus passieren, daß nicht alle
gleichzeitig sichtbar sind). Links von dieser Information befindet
sich ein Schließfeld, genau wie in einem GEM-Fenster oder in der
Standardbox. Ein Klick darauf schließt den aktuellen Ordner (wie die
Taste "Undo", s. o.). Auf der rechten Seite befinden sich drei
Funktionsknöpfe, die mit je einem Zeichen markiert sind. Die
zugehörigen Funktionen lassen sich auch mit "Alternate" und der
Zifferntaste, die das entsprechende Sonderzeichen trägt, aufrufen.
- '?' (Alternate-ß): Dieser Knopf liefert Informationen, abhängig von
der jeweiligen Selektion. Wenn ein oder mehrere Objekte selektiert
sind, werden die Dateien und Ordner gezählt und der
Gesamtspeicherbedarf berechnet. Dabei werden auch die in den Ordnern
enthaltenen Dateien und weiteren Ordner berücksichtigt. Wenn Ihnen
diese (Volks-)Zählung zu lange dauert, können Sie sie mit "Esc" oder
"Undo" abbrechen. Wenn nichts selektiert ist, werden die Kapazität und
der freie Platz des aktuellen Laufwerks angezeigt. Diese Angaben
erfolgen in KByte, das KByte zu 1024 (nicht 1000!) Bytes gerechnet. Da
das Betriebssystem den Speicherplatz auf Disketten bzw. Festplatten
meist in Häppchen von genau dieser Größe verteilt, erlaubt diese
Angabe eine praktische Abschätzung des freien Platzes.
- '/' (Alternate-7): Mit diesem Knopf selektieren Sie alle Einträge
der aktuellen Liste auf einen Schlag. Wenn bereits alle selektiert
sind, werden sie wieder deselektiert. Wenn Sie dieses Feld mit einem
Doppelklick anwählen oder gleichzeitig eine der "Shift"-Tasten
festhalten, wird immer alles deselektiert.
- '=' (Alternate-0): Dieser Knopf löst eine Funktion aus, die einen
symbolischen Link verfolgt. Näheres im Abschnitt über Dateisysteme.
Dieser Knopf ist zur Zeit nur unter MiNT selektierbar.
Das Namensfeld (oberhalb der Dateiliste)
----------------------------------------
In diesem Feld können Sie einen Dateinamen eintragen, etwa um das
aufrufende Programm zu veranlassen, eine neue Datei zu erzeugen. Dabei
gibt es auch einige Spezialitäten: Während Sie in dieses Feld Zeichen
eintippen, wird sein Inhalt ständig mit der Dateiliste verglichen.
Wenn Ihre Eingabe sich mit dem Anfang eines Namens in der Liste deckt,
wird die entsprechende Datei selektiert. (Manche Leute nennen sowas
einen 'Autolocator'.) Wenn Sie auf diese Art die richtige Datei
gefunden haben, können Sie den Namen mit "Return" an die Applikation
übergeben (oder, falls es ein Ordner ist, diesen öffnen). Falls kein
passender Name existiert, wird die Selektion gelöscht. Das ist
praktisch, wenn Sie eine neue Datei erzeugen wollen. Alles dies
funktioniert auch dann, wenn der Tastaturfokus auf der Dateiliste
steht.
Das Pfadfeld (über dem Namensfeld)
----------------------------------
Dieses Feld enthält den vollständigen Namen des aktuellen Ordners (d.
h. die Namen aller Ordner, in denen er liegt) und die aktuelle
Suchmaske. In BoxKite kann eine solche Pfadangabe bis zu 128 Zeichen
umfassen. Wenn sie zu lang für die Darstellung ist, erscheinen am
linken und/oder rechten Rand des Feldes Pfeile, mit denen Sie den
sichtbaren Ausschnitt verschieben können.
Einige Möglichkeiten, den aktuellen Pfad zu ändern, haben Sie schon
kennengelernt: Wenn Sie einen Ordner in der Dateiliste öffnen oder den
aktuellen Ordner schließen, ändert sich die Pfadangabe im Pfadfeld
entsprechend. Sie können auch den Fokus auf dieses Feld setzen und den
Pfad von Hand ändern oder einen neuen eingeben. Das ist aber wohl die
umständlichste Möglichkeit, es sei denn, Sie machen nur kleine
Änderungen.
Hinter dem kleinen Abwärtspfeil am rechten Rand des Pfadfeldes
verbirgt sich eine weitere praktische Möglichkeit: Hier sitzt
sozusagen das Gedächtnis von BoxKite. Wenn Sie diesen Abwärtspfeil
anklicken oder mit dem Fokus auf dem Pfadfeld die Taste 'Pfeil ab'
drücken, öffnet sich ein Pop-Up-Menu, das aus zwei Abteilungen
besteht. (Dieses Menu können Sie auch mit "Alternate-X" öffnen, ohne
den Fokus zu versetzen.) Die zweite dieser Abteilungen stellt bis zu 8
vollständige Pfade zur Auswahl. Wenn Sie in der obersten Abteilung den
Eintrag "Pfad merken" anklicken oder irgendwo in BoxKite "Alternate-P"
drücken, wird der aktuelle Pfad oben an das Menu angehängt. Wenn das
Menu bereits 8 Pfade enthält, wird der unterste Eintrag gelöscht.
Mit Hilfe des Selectric-Protokolls kann ein Anwendungsprogramm BoxKite
eigene Pfad- bzw. Typenlisten unterschieben. Dann werden diese
Menupunkte gesperrt. Das ist leider unvermeidlich, da BoxKite
andernfalls u. U. das Anwendungsprogramm zerstört.
Wenn Sie einen der Pfade auswählen, wird dieser ins Pfadfeld
übernommen, eingelesen und in der Dateiliste dargestellt. Gleichzeitig
wird er im Menu an den Anfang gesetzt, so daß er vom Löschen wieder so
weit wie möglich entfernt ist. So verbleiben die meistgenutzten Pfade
am längsten im Menu. Halten Sie bei der Auswahl die 'Shift'-Taste
gedrückt, dann ersetzt die Suchmaske am Ende dieses Pfades die
aktuelle Auswahlmaske im Pfadfeld.
Auch dann, wenn Sie eine oder mehrere Dateien auswählen und die Box
mit "Ok" (s. u.) verlassen, wird der aktuelle Pfad an den Anfang der
zweiten Gruppe des Menus gesetzt. Damit enthält sie eine stets auf den
neuesten Stand gebrachte Liste der 8 meistbenutzten Pfade. Wenn Sie
die aktuelle Konfiguration sichern ("Arbeit sichern", s. o.), wird der
Inhalt dieses Menus mitgesichert, so daß Sie sich einen
Ausgangszustand herstellen können, der von Anfang an ein bequemes
Arbeiten erlaubt.
In Version 1.70 sind die automatischen Veränderungen dieses Menüs per
Option abschaltbar. Dann bietet dieses Menü nur eine feste Liste von
Pfaden zur einfachen Auswahl an. Beim "Pfad merken" werden dann auch
keine Pfade herausgeschoben, sondern nur ein Warnton ausgegeben, wenn
das Menü voll ist. Sie können aber immer einen Pfad explizit aus dem
Menü entfernen, wenn Sie bei der Auswahl die "Control"-Taste
festhalten.
Die beiden fehlenden Befehle im Pfadmenü sind nur dann selektierbar,
wenn in Ihrem System das GEM-Klemmbrett definiert ist. Dies ist z. B.
immer dann der Fall, wenn Sie GEMINI als Desktop einsetzen. Mit "Pfad
kopieren" schreiben Sie den aktuell angezeigten Pfad in das
Klemmbrett. Mit "Pfad einfügen" wird der Pfad aus dem Klemmbrett
gelesen und angezeigt. Diese Operation ist natürlich nur dann möglich,
wenn das Klemmbrett auch Daten enthält.
Die Shortcuts für diese Kommandos sind 'Shift-Control-C' und
'Shift-Control-V'.
Der Knopf "Ok"
--------------
Wenn der Tastaturfokus (der doppelte Rand) auf der Dateiliste steht,
können Sie mit "Ok" BoxKite schließen, und dem aufrufenden Programm
Ihre Auswahl mitzuteilen. Wenn in der Dateiliste eine oder mehrere
Dateien selektiert sind, so werden dies ausgewählt. Wenn (mindestens)
ein Ordner selektiert ist, wird dieser (bei mehreren der oberste)
geöffnet und sein Inhalt angezeigt. Wenn in der Dateiliste nichts
selektiert ist, dann übergibt BoxKite dem Anwendungsprogramm den
Inhalt des Namensfeldes. Dieses kann auch einen Namen enthalten, der
in der Liste noch nicht vorkommt. Damit veranlassen Sie das jeweilige
Anwendungsprogramm, eine neue Datei zu erzeugen.
Wenn der Tastaturfokus auf dem Namensfeld steht oder wenn Sie beim
Klick auf "Ok" eine Shift-Taste festhalten, wird immer der Inhalt des
Namensfeldes zurückgegeben, unabhängig von einer Selektion in der
Liste. Diese Variante wird in der folgenden Situation interessant:
Stellen Sie sich vor, Sie möchten eine Datei namens "TEST" anlegen, im
aktuellen Verzeichnis existiert aber schon eine Datei namens
"TESTTEXT.TXT". Wenn Sie nun den Namen "TEST" eingeben, wird vom
Autolocator "TESTTEXT.TXT" selektiert und beim Klick auf "Ok"
zurückgegeben. Wenn Sie aber den Fokus auf das Namensfeld setzen (mit
Mausklick oder "Tab") und dann "Ok" anwählen, erhalten Sie tatsächlich
nur den Namen "TEST" zurück.
Falls Sie versuchen, einer TOS-Anwendung lange Dateinamen zu
übergeben, erscheint eine Fehlerbox mit zwei Wahlmöglichkeiten:
"Weiter" und "Zurück". Mit "Weiter" übergeben Sie die langen Namen an
die Hauptapplikation. Wenn Sie diese Wahl treffen, sollten Sie wissen,
was Sie tun. Wenn Sie dagegen "Zurück" anklicken, bleiben Sie in
BoxKite. Die Darstellung wird dann auf kurze Namen zurückgeschaltet.
Ihre Selektion bleibt dabei erhalten, so daß Sie sie mit einem
weiteren "Ok" übergeben können. Es kann allerdings sein, daß sich bei
alphabetischer Sortierung die Reihenfolge der Einträge ein wenig
ändert. Die Anzeige dieser Warnungen können Sie über den
"Expertenmodus" unterdrücken.
Manche Programme verkraften nur eine bestimmte Anzahl von Dateien und
teilen dies BoxKite mit; sollten Sie in einem solchen Fall mehr
Dateien ausgewählt haben, so warnt BoxKite Sie mit einem Piepton und
übergibt dem Programm nur die obersten Dateien.
Wenn der Tastaturfokus auf dem Pfadfeld steht und Sie dort einen neuen
Pfad oder eine neue Auswahlmaske eingegeben haben, so wird der dort
eingegebene Pfad eingelesen und angezeigt. Anschließend springt der
Fokus auf die Dateiliste, damit Sie dort Ihre Auswahl treffen können.
Der Knopf "Abbruch"
-------------------
Wie Sie sich sicher schon gedacht haben, dient dieser Knopf dazu,
BoxKite zu verlassen, ohne etwas auszuwählen. Wirklich nichts
weiter dabei.
Das Größenfeld (das Symbol ganz rechts unten)
---------------------------------------------
Wie schon wiederholt erwähnt, können Sie BoxKite wie ein GEM-Fenster
vergrößern und verkleinern. Die Minimalgröße ist auf eine Listenlänge
von 10 Dateien im normalen Anzeigeformat ausgelegt. Die Maximalgröße
(und damit die Zahl der angezeigten Dateien) ist fast nur von der
Bildschirmauflösung abhängig. "Fast" bedeutet in diesem Zusammenhang
folgendes: Die Maximalzahl der gleichzeitig angezeigten Dateien
beträgt 100. (Den Monitor möchte ich mal sehen.) Die Maximalbreite ist
darauf ausgelegt, Dateinamen von 32 Zeichen länge nebst Größe, Datum
und Uhrzeit anzuzeigen. Ein größere Breite würde zumindest in dieser
Version von BoxKite keinen Gewinn an Information mehr bringen. In
Auflösungsstufen mit nur 320 Pixel Breite (etwa ST-niedrig) kann
BoxKite auch TOS-Dateinamen nur so breit anzeigen, daß die weiteren
Angaben unsichtbar bleiben. Hier ist das Größenfeld also nicht sehr
nützlich. Wenn Sie die aktuelle Konfiguration sichern ("Sichern" im
Dialog "Optionen"), wird die Größe mit abgespeichert, so daß Sie
BoxKite nach dem nächsten Booten in derselben Größe wieder vorfinden.
Der Laufwerksknöpfe (Links von der Liste)
-----------------------------------------
Dieses Feld enthält die Laufwerksbuchstaben von 'A' bis 'Z'. Durch
Anklicken eines Buchstabens können Sie auf ein anderes Laufwerk
umschalten. Das aktuelle Laufwerk wird schwarz hinterlegt. Laufwerke,
die nicht in Ihrem System vorhanden sind, sind in dieser Box nicht
anwählbar. Alternativ zur Mausbedienung können Sie mit der Kombination
"Control"-Laufwerksbuchstabe das aktuelle Laufwerk wechseln.
Der Sortierknopf (rechts oben)
------------------------------
Hier bestimmen Sie, in welcher Weise die Dateiliste sortiert wird. Die
meisten Sortiermodi sind vom Desktop her bekannt. Der Knopf zeigt
immer den aktuellen Modus an. Die Modi im Einzelnen:
"Nach Namen": Sortiert die Dateien alphabetisch aufsteigend.
Ordner werden unabhängig vom Sortiermodus immer zuoberst
angezeigt. Ausnahme: Unsortiert.
"Nach Typ": Sortiert die Dateien alphabetisch aufsteigend
nach dem Dateityp (auch Extension genannt). Im gewöhnlichen
TOS-Dateisystem sind das die 3 Buchstaben hinter dem Punkt,
bei anderen Systemen (wo evtl. ein Name mehrere Punkte
enthalten darf) alles hinter dem letzten Punkt. Bei gleichem
Typ wird nach den Namen sortiert.
"Nach Größe": Sortiert aufsteigend nach der Größe (die
Kleinen nach vorn). Bei gleicher Größe wird nach den Namen
sortiert.
"Nach Datum": Sortiert absteigend nach Datum und Uhrzeit, d.
h. die jüngsten Einträge stehen oben. Bei gleicher Zeit wird
nach den Namen sortiert.
"Unsortiert": Zeigt alle Dateien und Ordner in der
Reihenfolge an, in der sie tatsächlich auf dem Datenträger
steht. Das kann schon mal wichtig sein; im AUTO-Ordner z. B.
bestimmt diese Reihenfolge die Reihenfolge der Ausführung.
"Numerisch": Dies ist ein Zusatzschalter, der die
alphabetische Sortierung steuert. Wenn er eingeschaltet ist
(erkennbar am Häkchen), werden in die Namen eingebettete
Zahlen erkannt und aufsteigend berücksichtigt. Beispiel: Die
Namen BRIEF1.TXT, BRIEF2.TXT und BRIEF10.TXT erscheinen bei
normaler alphabetischer Sortierung in der Reihenfolge:
BRIEF1.TXT
BRIEF10.TXT
BRIEF2.TXT
Bei numerischer Sortierung sieht es so aus:
BRIEF1.TXT
BRIEF2.TXT
BRIEF10.TXT
"GROSS = klein": Dies ist auch ein Zusatzschalter. Wenn er
aktiv ist, werden beim Sortieren Groß- und Kleinbuchstaben
als gleich angesehen, wie man es von der deutschen Sprache
her gewohnt ist. Andernfalls wird streng nach den
ASCII-Codes der Buchstaben sortiert, was dazu führt, daß die
Großbuchstaben vor den Kleinbuchstaben landen. Dann ähnelt
das Erscheinungsbild eher den Directory-Listen unter UN*X.
Im Zusammenhang mit Dateisystemen, die nur Großbuchstaben
unterstützen, hat dieser Schalter natürlich keine Wirkung.
Die Masken (am rechten Rand)
----------------------------
Am rechten Rand der Box finden Sie 10 Felder für Auswahlmasken. Wenn
Sie eines dieser Felder anklicken, dann werden aus dem aktuellen Pfad
nur die Dateien angezeigt, die auf diese Maske passen. Halten Sie
dabei eine der 'Shift'-Tasten fest, dann wird diese Maske mit einem
Komma an die aktuell angezeigte Maske angehängt, so daß die Dateien
angezeigt werden, die auf beide Masken passen. Alternativ können Sie
diese Maken auch mit den 10 Funktionstasten anwählen.
Wodurch wird nun der Inhalt dieser Felder bestimmt? Das oberste Feld
enthält immer die Maske, die das Anwendungsprogramm an BoxKite
übergeben hat. Das zweite Feld steht immer auf '*' (zeige alle Dateien
an), da diese Maske sehr häufig gebraucht wird. Die restlichen 8
Felder können Sie selbst definieren. Selektieren Sie dazu eines der
Felder mit einem Doppelklick oder mit gleichzeitig gehaltener
'Control'-Taste. Dann öffnet sich ein Dialog, in dem Sie eine neue
Maske eintragen können. Sie werden faststellen, daß der tatsächliche
Inhalt einer solchen Maske weitaus länger sein kann, als die Breite
des Feldes vermuten läßt. Dies war erforderlich, damit BoxKite auch in
niedrigen Bildschirmauflösungen noch läuft. Intern wird natürlich die
volle Länge Ihrer Eingabe gespeichert.
Der Inhalt der editierbaren Maskenfelder wird natürlich bei "Arbeit
sichern" in die INF-Datei geschrieben, so daß er bei jedem Neustart
wieder zur Verfügung steht.
Der Längenknopf (unten links)
-----------------------------
Der Längenknopf ruft ein PopUp auf, in dem Sie zwischen der Anzeige
von TOS-Dateinamen und der Anzeige von langen Dateinamen umschalten
können. Ist MiNT (oder ein anderes System, das den
'Pdomain'-Mechanismus unterstützt) aktiv, können Sie hier zusätzlich
eine Automatik aktivieren, die vor möglichen Kompatibilitätsproblemen
warnt. Nähere Erläuterungen finden Sie im Abschnitt über Dateisysteme
und Dateinamen.
5. Dateioperationen
-------------------
Wie oben schon erwähnt, stellt BoxKite Ihnen auch die wichtigsten
Dateioperationen zur Verfügung. Sie haben sicher schon vor der
Situation gestanden, einen Text auf eine bestimmte Diskette sichern zu
müssen, auf der vor lauter Datenmüll nicht genug Platz war. Für
BoxKite kein Problem: Hier können Sie einfach den Datenmüll löschen
und anschließend sichern.
Die Dateioperation residieren in einem Pop-Up-Menu hinter dem Knopf
"Funktionen". Sie können auch direkt über bestimmte
Tastenkombinationen ausgelöst werden. Sie können jede laufende
Operation mit den Tasten "Esc" oder "Undo" abbrechen. Die einzelnen
Punkte dieses Menus sind die folgenden:
"Neues Objekt" (Control-Shift-N)
--------------------------------
Dieser Punkt gestattet es, im aktuellen Ordner einen neuen Ordner oder
eine leere Datei (auch das ist gelegentlich nötig) anzulegen. Es
öffnet sich eine kleine Dialogbox, in der Sie den neuen Namen eingeben
und festlegen können, ob ein Ordner oder eine Datei erzeugt werden
soll.
"Information" (Alternate-I)
---------------------------
Dieser Befehl liefert detailliertere Informationen über die einzelnen
momentan selektierten Objekte (Ordner und Dateien). Er kann nicht
aufgerufen werden, wenn nichts selektiert ist. Sind mehrere Objekte
selektiert, so wird eins nach dem anderen angezeigt, falls Sie den
Befehl nicht unterbrechen (wie, siehe unten). Es wird eine Dialogbox
angezeigt, die Name, Erstellungsdatum und Uhrzeit des Objektes
enthält. Für Dateien werden auch die Größe und die TOS-Attributbits
angezeigt, für Ordner dagegen Informationen über den Inhalt. Letzteres
kann schon mal etwas dauern, wenn der Ordner viele Unterordner und
Dateien enthält. Den Namen und die Dateiattribute können Sie
verändern. Wenn Sie die Box mit "Ok" verlassen, werden geänderte Namen
und Attribute übernommen und Informationen zum nächsten selektierten
Objekt angezeigt, sofern noch eines vorhanden ist. Wenn Sie "Weiter"
benutzen, geht BoxKite ohne Änderung zum nächsten Objekt über, und mit
"Abbruch" beenden Sie den gesamten Befehl, ebenfalls ohne Änderung.
Tip: Mit Hilfe der Dateiattribute können Sie eine Datei verstecken.
Dazu schalten Sie das Bit "Versteckt" ein und die Bits "Schreibschutz"
und "Archivbit" aus. Warum ausgerechnet diese Kombination nötig ist,
weiß nur Atari...
"Suchen" (Control-Shift-F)
--------------------------
Wenn Sie eine bestimmte Datei öffnen wollen und nicht mehr genau
wissen, wo auf Ihrer Festplatte sie steckt (auch eine Diskette kann
ganz schön unübersichtlich werden), liefert dieser Befehl eine
Hilfestellung. Er durch sucht das aktuelle und alle darin enthaltenen
Verzeichnisse nach Dateien, deren Namen auf ein bestimmtes Muster
passen. In die Dialogbox tragen Sie das Suchmuster ein und starten die
Suche mit "Ok". Wenn eine passende Datei gefunden wurde, erscheint
eine Hinweisbox mit dem Dateinamen. Gleichzeitig wird dahinter in der
Dateiliste das entsprechende Verzeichnis angezeigt. Die Hinweisbox
bietet Ihnen folgende Möglichkeiten: Mit "Ok" beenden Sie die Suche
und bleiben in dem Ordner, in dem die Datei gefunden wurde, mit
"Weiter" setzen Sie die Suche fort und mit "Abbruch" beende Sie die
Suche und kehren ins ursprüngliche Verzeichnis zurück.
"Kopieren" (Alternate-C, Merke: "Copy")
---------------------------------------
Mit diesem Befehl können Sie einzelne Dateien und ganze Ordner nebst
Inhalt kopieren. Er ist nur anwählbar, wenn auch Objekte zum Kopieren
selektiert sind. Als erstes fordert BoxKite Sie mit einem Piepton und
einer Meldung in der Titelzeile auf, einen Zielordner zu bestimmen.
Öffnen Sie dazu einfach den entsprechenden Ordner und quittieren Sie
mit "Ok". Danach erscheint eine Dialogbox, die Sie über die zu
kopierenden Datenmengen informiert. Wenn darin die Option "Datum/Zeit
beibehalten" selektiert (angekreuzt) ist, erhalten die Kopien dieselbe
Zeitmarkierung wie die Ursprungsdateien, ansonsten werden sie auf das
aktuelle Datum und die aktuelle Uhrzeit gesetzt. Starten Sie den
Kopiervorgang mit "Ok".
Wenn ein Namenskonflikt entsteht, d. h. im Zielordner eine Datei
existiert, die denselben Namen wie eine zu kopierende Datei hat,
erscheint eine Hinweisbox, die Ihnen Gelegenheit gibt, für die zu
kopierende Datei einen neuen Namen auszuwählen. Gerade beim Arbeiten
mit verschiedenen Dateisystemen können solche Situationen etwas
unerwartet auftreten. Kopiert man etwa von einem Minix-Dateisystem mit
32 Zeichen langen Namen auf ein TOS-Dateisystem mit "8-Punkt-3"-Namen,
so werden die langen Namen entsprechend zurechtgestutzt. Dabei können
leicht Überschneidungen entstehen.
"Verschieben" (Alternate-M)
---------------------------
Funktioniert genauso wie "Kopieren", außer daß die Ausgangsdatei
anschließend gelöscht wird. Diese Funktion ist nur in der Vollversion
enthalten.
"Touch" (Alternate-H)
---------------------
Eine Datei zu "Touchen" (sprich: Betatschen) bedeutet, Ihre Datums-
und Zeitmarkierung auf das aktuelle Datum und die aktuelle Uhrzeit zu
setzen. Dies ist hauptsächlich für Programmierer und TeX-Benutzer
interessant, die das Verhalten von Utilities wie 'make' oder
bestimmten Entwicklungsumgebungen beeinflussen wollen. Auch dieser
Befehl arbeitet bei selektierten Ordnern rekursiv, d. h. er bearbeitet
Dateien in den Ordnern, Dateien in den Ordnern in den Ordnern,...
Diese Funktion ist nur in der Vollversion zugänglich.
"Löschen" (Alternate-D, Merke: "Delete")
----------------------------------------
Mit diesem Befehl können Sie Ordner und Dateien löschen, etwa um auf
dem Datenträger Platz zu schaffen. Auch dieser Befehl arbeitet
rekursiv. Seien Sie also vorsichtig.
"Über BoxKite" (Alternate-B)
----------------------------
Dieser Menupunkt zeigt eine Dialogbox mit Copyright-Informationen an.
Mit dem Knopf "Ok" verlassen Sie diese Box. Mit "Info" zeigen Sie eine
weitere Infobox an. In der öffentlichen Version von BoxKite befindet
sich hier auch der Button "Registrieren", mit dem Sie eine Vollversion
erzeugen können, sofern Sie die Sharewaregebühr bezahlt haben und den
Schlüssel besitzen.
6. Optionen
-----------
Über den Knopf "Optionen" erreichen Sie einen weiteren Dialog, in dem
Sie eine Reihe von Grundeinstellungen für die Arbeitsweise von BoxKite
treffen und abspeichern können. Aus Platzgründen werden die einzelnen
Optionen in einer Listbox aufgeführt, in der die eingeschalteten
Optionen mit Häkchen gekennzeichnet sind. Durch einen Mausklick können
Sie eine Option ein- oder ausschalten. Alternativ zeigt die Listbox
einen Auswahlbalken an, den Sie mit den Pfeiltasten versetzen können.
Die Option unter dieser Auswahl wird mit der Leertaste ein- oder
ausgeschaltet.
Schließlich enthält dieser Dialog noch drei Buttons:
"Abbruch": Verläßt die Box, ohne die Einstellungen zu
übernehmen.
"Ok": Verläßt den Dialog und übernimmt die Einstellungen.
"Sichern": Verläßt den Dialog, übernimmt die Einstellungen
und sichert den Zustand von BoxKite, d. h. die Größe der
Box, die Einstellungen dieses Dialogs, den Sortiermodus, die
gespeicherten Pfade und Suchmasken (s. u.) in eine Datei
namens 'BOXKITE.INF'. Diese Datei wird bei jedem Neustart
von BoxKite gelesen und ausgewertet, so daß Sie wieder Ihre
Lieblingskonfiguration vorfinden. Pfade und Dateitypen, die
von der Hauptapplikation an BoxKite übergeben wurden, werden
nicht gespeichert. Diese Funktion ist nur in der Vollversion
zugänglich.
Nun zur Beschreibung der Optionen im Einzelnen:
Versteckte Dateien anzeigen
---------------------------
TOS bietet die Möglichkeit, Dateien im Desktop unsichtbar zu machen,
um sie vor unvorsichtigen Zugriffen zu schützen oder die Anzeige
übersichtlicher zu gestalten. Manchmal muß man aber ausgerechnet so
eine Datei bearbeiten. Mit diesem Menupunkt können Sie sie in BoxKite
sichtbar machen.
Doppelklick öffnet Ordner
-------------------------
Wenn dieser Punkt aktiviert ist wird ein Ordner mit Einfachklick nur
selektiert. Um ihn zu öffnen, benötigen Sie einen Doppelklick - genau
wie in den Fenstern im GEM-Desktop. (Sie erinnern sich: Ein
Rechtsklick tuts auch.)
In Namen alle Zeichen zulassen
----------------------------------
Mit diesem Menupunkt schalten Sie die Beschränkung des in Dateinamen
erlaubten Zeichensatzes ein oder aus. Wenn Sie nur mit dem
TOS-Dateisystem arbeiten, ist es sicherer die Einschränkung
einschalten (näheres in Abschnitt 7). Es gibt allerdings auch
Anwendungsprogramme, die den Fileselector dazu "mißbrauchen", vom
Anwender eine Dateimaske zu erfragen, die Wildcards ('*' und '?')
enthält. Um Wildcards ins Namensfeld von BoxKite einzugeben, müssen
Sie die Einschränkung abschalten.
Box immer mit Maximalhöhe öffnen
----------------------------------
Wenn dieser Menupunkt aktiviert ist, nutzt BoxKite beim Öffnen der Box
immer die gesamte senkrechte Bildschirmauflösung aus, um so viele
Dateien wie möglich anzuzeigen. Danach können Sie ihn
selbstverständlich wieder verkleinern. Auch in dieser Betriebsart
erscheint BoxKite immer in der Breite, die Sie ausgewählt haben.
*.PRG zeigt alle Programme an
-------------------------------
Wenn dieser Punkt aktiv ist, erhält die Suchmaske "*.PRG" am Ende
einer Pfadangabe eine Sonderbedeutung: Sie zeigt alle die Dateien an,
die laut GEM-Konvention ausführbare Programme sind. Das sind die
Dateien mit den Typen PRG, APP, TOS, TTP, GTP. Dieser Modus ist z. B.
im Zusammenhang mit dem Menubefehl "Execute..." der Purbo-C-Shell
interessant.
Undo bricht den Dialog ab
--------------------------
Mit diesem Menupumkt wird die Bedeutung der "Undo"-Taste festgelegt.
Ist er abgehakt, dann wirkt "Undo" wie ein Klick auf "Abbruch" (eigens
für die Selectric-Freunde unter Ihnen). Andernfalls wechseln Sie mit
"Undo" zum höheren Verzeichnis.
Klick rechts = Doppelklick
--------------------------
Wenn diese Option aktiv ist, können Sie an jede Funktion, die einen
Doppelklick erfordert, auch mit einem einfachen Klick auf die rechte
Maustaste auslösen. (Diese Option war in älteren BoxKite-Versionen
immer aktiv. Es hat sich jedoch herausgestellt, daß sie nicht
kompatibel mit bestimmten unsauberen Programmen, etwa GFA-Basic bis
Version 3.x ist. Daher ist sie nunmehr abschaltbar.)
3D-Optik im Dialog
------------------
Die 3D-Optik, die mit den Falcon-TOS-Versionen und mit MultiTOS
eingeführt wurde, hat in der TOS-Szene zu den herrlichsten
Diskussionen geführt. Darum können Sie sie in BoxKite nach Belieben
ein- und ausschalten.
Dialog als GEM-Fenster
----------------------
Wenn Sie diesen Punkt anklicken, wird der BoxKite bei zukünftigen
Aufrufen als GEM-Fenster dargestellt. Im Unterschied zum 3D-Look wird
diese Einstellung nicht sofort wirksam, sondern erst beim nächsten
Aufruf von BoxKite. Der Vorzug dieser Darstellungsweise liegt darin,
daß unter Multitasking-Betriebssystemen Hintergrundprogramme nicht in
dem Moment angehalten werden, in dem sie eine Bildschirmausgabe
machen.
In BoxKite 1.71 werden Sie feststellen, daß die Box sich nicht immer
als Fenster öffnet, auch wenn Sie diese Auswahl getroffen haben. Das
kann einmal daran liegen, daß BoxKite als Unterdialog eines anderen
Dialoges erscheint, der selbst nicht in einem Fenster liegt. Ein
Beispiel dafür ist der GEMINI-Dialog zum Laden von
Hintergrundbildern. Der andere mögliche Grund ist der, daß die
Hauptapplikation einfach nicht darauf vorbereitet ist, daß der
Fileselector ein Fenster sein kann, und darum im Betriebssystem
bestimmte Sperren aktiviert.
Eine andere systembedingte Einschränkung des Betriebes von BoxKite im
Fenster ist die, daß in dieser Situation BoxKite für die
Hauptapplikation das Zeichnen von hintenliegenden Fenstern übernehmen
muß. Da BoxKite nicht wissen kann, was in diesen Fenstern dargestellt
werden soll, behilft er sich mit bunten Logos. Seien Sie also nicht
überrascht, wenn sich die Fenster Ihres Programmes plötzlich
verändern, falls Sie BoxKite verschieben. Dieses Problem ist nur zu
umgehen, wenn die Hauptapplikationen an diese Situation angepaßt
werden. BoxKite bietet dazu eine Schnittstelle an, die im Anhang
beschrieben wird.
Aufgrund dieser Einschränkungen ist der Fensterbetrieb in BoxKite
abschaltbar.
Pfade automatisch merken
------------------------
Mit dieser Option werden die automatischen Veränderungen im Pfadmenü
(s. o.) ein- oder ausgeschaltet.
Farbige Hervorhebungen
----------------------
Mit dieser Option schalten Sie die farbige Anzeige von Programmen,
Ordnern und Links aus bzw. ein. Dieser Schalter hat natürlich nur in
Farbauflösungen eine Auswirkung.
Box stets an Mausposition öffnen
--------------------------------
Ist diese Option aktiviert, so wird BoxKite nach Möglichkeit stets in
der Nähe des Mauszeigers geöffnet. Dies ist besonders auf großen
Monitoren interessant.
7. Einige theoretische Anmerkungen
----------------------------------
Dieser Abschnitt stellt einige der erweiterten Möglichkeiten von MiNT
und MultiTOS zur Dateibehandlung kurz dar und erläutert, wie BoxKite
Ihnen helfen kann, aus diesen Möglichkeiten den meisten Nutzen zu
ziehen. Dazu enthält BoxKite einige weitere Bedienungselemente, die
nur unter MiNT sichtbar sind. Diesen Abschnitt können Sie eigentlich
überspringen, wenn Sie MiNT oder MultiTOS nicht einsetzen. Aber wer
weiß, vielleicht kommen Sie ja bei der Lektüre auf den Geschmack?
Der oberste Abschnitt ist natürlich inzwischen überholt. MagiC 3 und
MagiCMac können auch mit langen Dateinamen umgehen. Dadurch werden
diese Möglichkeiten in BoxKite natürlich noch interessanter.
Dateisysteme & Dateinamen
-------------------------
Was sind nun eigentlich Dateisysteme? Warum sind lange Dateinamen
interessant?
Ein Dateisystem ist derjenige Teil des Betriebssystems, der dafür
verantwortlich ist, ob und wie die Daten auf den Disketten oder
Festplatten gespeichert werden. In das Betriebssystem TOS ist ein
Dateisystem eingebaut, das auf Kompatibilität mit MS-DOS (just say
no!) ausgelegt ist. Diese Entscheidung brachte aber neben der
Möglichkeit, (fast) ohne Probleme Disketten mit PCs auszutauschen,
auch einige Unannehmlichkeiten mit sich: Da ist einmal die nicht immer
berauschende Geschwindigkeit, und zum anderen die Beschränkung auf 12
Zeichen lange Dateinamen, die nur Großbuchstaben enthalten können und
im bekannten "8-Punkt-3"-Format vorliegen müssen. Da muß man manchmal
viel Phantasie aufbringen, um vom Namen auf den Inhalt einer Datei
schließen zu können.
Für dieses Problem zeichnet sich aber eine Lösung ab: Die
Betriebssystemerweiterung MiNT, die auch die Grundlage von MultiTOS
bildet, ist so offen ausgelegt, daß man ohne weiteres bessere
Dateisysteme einbinden kann. Ein solches System ist etwa das
Minix-Dateisystem von Steven Henson (in jeder gut sortierten Mailbox
erhältlich), das neben anderen Vorteilen wesentlich längere Dateinamen
mit Groß- und Kleinbuchstaben zuläßt. Hier kann eine Datei etwa
'Kapitel.3.Versuch.2.TXT' anstatt 'KAP3VER2.TXT' heißen. Dem Vernehmen
nach können auch MagiC 3 und MagiCMac Dateisysteme laden. Auf dem Mac
ist dies sogar erforderlich, um auf die Daten auf Mac-Disketten bzw.
-Platten korrekt zuzugreifen.
BoxKite kann unter diesen Systemen Dateien mit Namen von bis zu 32
Zeichen mit gemischter Groß- und Kleinschreibung anzeigen. Die Namen
dürfen auch beliebig viele Punkte enthalten. In anderen Boxen werden
längere Namen so verstümmelt, daß sie auf die "8-Punkt-3"-Regel des
TOS-Dateisystems passen. Das Minix-Dateisystem läßt zwar bei
entsprechender Einstellung noch längere Namen zu, doch leidet meines
Wissens dann die Effizienz.
BoxKite versucht, in der Dateiliste Namen, Größe und Erstellungsdatum
der Dateien anzuzeigen. Dies ist von der maximal möglichen Länge der
Namen und von der aktuellen Breite der Box abhängig, d. h. wenn die
Box gerade breit genug für 32 Zeichen lange Namen ist, verschwinden
die Zusatzinformationen. Wenn Sie dann BoxKite mit dem Größenfeld
verbreitern, werden die Zusatzinformationen wieder sichtbar.
Die Länge des Namensfeldes von BoxKite entspricht immer der maximalen
Länge eines Dateinamens im aktuellen Dateisystem. Ebenso gibt das Feld
den Punkt vor, wenn das Dateisystem vom Typ "8-Punkt-3" ist (was
leider noch meistens der Fall ist). Wenn das Dateisystem keinen
Unterschied zwischen Groß- und Kleinbuchstaben macht (ebenfalls leider
noch meistens der Fall), werden alle Eingaben in dieses Feld in
Großbuchstaben gewandelt. Sie können also nichts falsch machen. Wenn
Sie MiNT einsetzen, probieren Sie es mal im Laufwerk U: aus.
Wie so oft erhebt sich auch in diesem Zusammenhang die leidige Frage
nach der Kompatibilität, d. h. der Verträglichkeit bereits
existierender Programme mit diesen neuen Möglichkeiten. Es soll
nämlich Programme geben, die nur Speicherplatz für Dateinamen von 12
Zeichen reservieren. Wenn man diesen längere Namen übergibt, stürzen
sie u. U. ab und nehmen alle erreichbaren Daten mit in den Orkus.
Leider gibt es im Allgemeinen keine Möglichkeit, solche Übeltäter von
vornherein zu erkennen und dingfest zu machen. Dazu müßte BoxKite wohl
in der Lage sein, durch bloße Betrachtung des Programmes
festzustellen, ob dieses lange Dateinamen verträgt. Das scheint mir
aber äquivalent zu einer Lösung des Halteproblems zu sein ;-)
Daher bleibt die Verantwortung letztlich beim Anwender, also bei
Ihnen. Sie können BoxKite über den Namensknopf so einstellen, daß
entweder nur TOS-Namen oder lange Dateinamen angezeigt oder
zurückgeliefert werden. Unter MiNT (oder anderen Systemen, die diesen
Mechanismuns unterstützten - mir ist aber noch keines bekannt) können
Sie zusätzlich eine Warnautomatik einschalten, die auf mögliche
Kompatibilitätsprobleme hinweist. Die Theorie, die dem zugrundeliegt,
ist die Folgende:
Unter MiNT lassen sich Programme in zwei Klassen einteilen:
MiNT-Anwendungen und TOS-Anwendungen. Eine MiNT-Anwendung zeichnet
sich dadurch aus, daß sie mit den erweiterten Möglichkeiten von MiNT,
insbesondere mit langen Dateinamen umgehen kann. Von einer
TOS-Anwendung kann man dies nicht annehmen, und MiNT verfolgt die
Philosophie, einer solchen Anwendung auch nur auf das
"8-Punkt-3"-Format verkürzte Dateinamen zu zeigen.
Diese Philosophie ist auch nicht ganz unproblematisch. Es kann
durchaus vorkommen, daß zwei verschiedene Namen, die sich z. B. erst
im 10. oder 12. Zeichen unterscheiden, in der verkürzten Form gleich
aussehen und dann von Anwendungsprogrammen nicht mehr unterschieden
werden können. Wenn Sie schon gezwungen sind, TOS-Anwendungen zu
benutzen, können Sie diesem Problem dauerhaft nur dadurch ausweichen,
daß Sie schon bei der Neuanlage von Dateien die Namen so auswählen,
daß sie an den ersten 8 Zeichen des Namens und den ersten 3 Zeichen
der Erweiterung eindeutig zu identifizieren sind. Da die Namen z. B.
im Minix-Dateisystem auch mehrere Punkte enthalten dürfen, ist unter
der Erweiterung alles zu verstehen, was hinter dem letzten Punkt
steht.
BoxKite ist nun in der Lage, festzustellen, ob er von einer MiNT- oder
einer TOS-Anwendung aus aufgerufen wurde (Für Insider: Er prüft, ob
der aktuelle Prozeß in der MiNT-Domain läuft und ob evtl. noch ein
Accessory mit im Spiel ist). Wenn Sie dann versuchen, lange Namen an
die aufrufende Anwendung zurückzugeben, wird eine Warnung angezeigt.
Dann können Sie die langen Namen immer noch zurückgeben; Sie sind aber
selbst für die Folgen verantwortlich.
Selbstverständlich bleiben die Autoren von Anwendungsprogrammen
aufgefordert, dafür zu sorgen, daß ihre Programme mit langen
Dateinamen zurechtkommen.
Nochmal Dateinamen
------------------
BoxKite hilft auch noch dabei, ein anderes Kompatibilitätsproblem zu
lösen: Laut offizieller Dokumentation dürfen unter TOS Dateinamen nur
bestimmte Zeichen enthalten, u. a. keine Umlaute. Das
Minix-Dateisystem dagegen kennt solche Einschränkungen nicht. Um die
Lage vollends zu verwirren, wissen zumindest einige TOS-Versionen
nichts davon, daß sie diese Zeichen eigentlich gar nicht beherrschen,
und verarbeiten z. B. die Umlaute klaglos. Auf der anderen Seite
existieren angeblich Anwendungsprogramme, die Dateinamen mit solchen
Zeichen schlecht vertragen.
In BoxKite können Sie die Beachtung von solchen Einschränkungen des
Zeichensatzes ein- und ausschalten. Wenn der Zeichensatz eingeschränkt
ist, können Sie Zeichen, die laut der TOS-Dokumentation nicht erlaubt
sind (nachzulesen im ATARI Profibuch, Sybex, 12. Auflage 1992, S.
160), gar nicht erst eingeben. Ist der Zeichensatz nicht beschränkt,
dann dürfen Ihre Dateinamen alle Zeichen außer '\', '/' und ':'
enthalten. Diese Zeichen sind ausgenommen, da sie von TOS als
Trennzeichen für die Namen von verschachtelten Ordnern interpretiert
werden. Ansonsten ist alles erlaubt.
Das heißt aber nicht, daß auch alles ratsam wäre. Wenn Sie z. B. eine
Textshell (wie ksh, sh, bash, mintshel oder Mupfel) einsetzen, und
wenn Zeichen, die für die Shell eine besondere Bedeutung haben (häufig
sind das '|', '>', '$' u. ä.) in Ihren Dateinamen vorkommen, können
können Sie eventuell diese Dateien von der Shell aus nicht ohne
weiteres ansprechen. Dann müssen Sie auf einen Mechanismus in der
Shell zurückgreifen, der diesen Spezialzeichen ihre Bedeutung nimmt
(in den Handbüchern meist als 'Quoting' bezeichnet).
Das TOS-Dateisystem hat die Eigenart (Bug? Feature?), daß bei Namen,
die Leerzeichen enthalten, alles ab dem Leerzeichen abgeschnitten
wird. '*' und '?' haben noch eigenartigere Auswirkungen. Umlaute
dagegen werden meines Wissens von den meisten Versionen sauber
verarbeitet. Dennoch muß hier eine deutliche Warnung ausgesprochen
werden: Es ist nicht garantiert, daß sich das TOS-Dateisystem in allen
Versionen genau so verhält oder daß es sich bis in alle Zukunft
weiterhin so verhalten wird. Es ist durchaus möglich, daß
TOS-Versionen existieren oder in Zukunft erscheinen, in denen nicht
erlaubte Zeichen in Dateinamen zu Abstürzen und/oder Datenverlusten
führen. Wenn Sie also dem TOS-Dateisystem solche Dateinamen vorsetzen,
handeln Sie auf eigene Verantwortung.
Symbolische Links
-----------------
Eine weitere hübsche Eigenschaft von MiNT sind die sogenannten
symbolischen Links. Dabei handelt es sich um eine Möglichkeit, eine
Datei unter zwei verschiedenen Namen in zwei verschiedenen Ordnern
anzusprechen. "Wozu ist denn das gut?" werden Sie sich jetzt
vielleicht fragen.
Stellen Sie sich etwa vor, daß die Programme und Daten, die Sie häufig
benötigen, in Ordnern liegen, die über alle Festplattenpartitionen
verteilt sind, zum Beispiel C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF und
D:\DATABASE\PRIVAT\ADRESSEN. Dann müssen Sie sich immer von einem
Laufwerk zum anderen durchklicken, um diese Daten zu erreichen. Der
gewiefte Anwender einer modernen Shell (etwa der neue Desktop oder
Gemini) wird nun diese Ordner als Icons auf dem Desktophintergrund
plazieren. Solange man nur mit der Shell arbeitet, ist das auch sehr
hilfreich. Versucht man aber, eine dieser Dateien von einer anderen
Anwendung aus zu öffnen, darf man sich wieder durch alle Laufwerke und
Ordner klicken.
Unter MiNT ist das anders. Hier können Sie mit Hilfe eines
symbolischen Links dafür sorgen, daß jeder dieser Ordner ein
"Doppelleben" im Laufwerk U: führt. Dann liegt alles, was Sie häufig
brauchen, in U: schön nebeneinander, und wird von ALLEN
Anwendungsprogrammen dort gefunden. Die beiden Bandwurmnamen oben
können Sie damit z. B. als U:\LIEBESBR.IEF und U:\ADRESSEN ansprechen.
Um es nochmal deutlich zu sagen: Dabei werden keine Daten kopiert; Sie
sprechen nur je eine Datei unter zwei verschiedenen Namen an. Wenn Sie
also U:\LIEBESBR.IEF verändern, werden Sie die Änderungen in
C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF wiederfinden.
Wie legt man nun einen solchen Link am sinnvollsten an? Bei jedem
Start von MiNT, also beim Booten des Rechners wird eine Steuerdatei
namens MINT.CNF ausgeführt. Unter anderem kann diese Datei auch
Befehle zum Anlegen von symbolischen Links enthalten. Die Links, die
Sie dort eintragen, werden bei jedem Start des Systems angelegt und
stehen damit ohne weiteren Aufwand immer zur Verfügung. Für das erste
Beispiel lautet der Befehl:
sln C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF U:\LIEBESBR.IEF
BoxKite markiert symbolische Links in der Anzeige durch einen
vorangestellten Punkt. Ferner steht eine Möglichkeit zur Verfügung,
einen Link aufzulösen, d. h. herauszufinden, wie das fragliche Objekt
wirklich heißt und wo es steht.
Ferner enthält unter MiNT der Kopf der Dateiliste von BoxKite einen
weiteren Knopf, der mit einem Gleichheitszeichen markiert ist und über
die Tastenkombination "Alternate-0" angesprochen werden kann. Wenn in
der Dateiliste ein symbolischer Link selektiert ist, können Sie ihn
mit dieser Funktion auflösen. Dann zeigt BoxKite das Verzeichnis an,
in dem sich das Objekt tatsächlich befindet. Der wahre Name des
Objektes erscheint im Namensfeld. Dieser Knopf ist nicht wählbar (grau
dargestellt), wenn kein symbolischer Link selektiert ist.
Wenn Sie sich unter MiNT die '?'-Funktion im Verzeichnis U:\C\*
aufrufen, erhalten Sie die Information über den freien Platz auf
Laufwerk C: anstelle der wenig ergiebigen Angabe, auf U: seien 0 Bytes
von 0 frei. Das gleiche gilt, wenn Sie z. B. einen Ordner auf C: über
einen symbolischen Link auf U: ansprechen.
Anhang: Technische Interna
--------------------------
Dieser Abschnitt beschäftigt sich mit einigen technischen Interna von
BoxKite. Er ist vermutlich in erster Linie für Programmierer
interessant. Also gleich in die Vollen:
BoxKite verbiegt die Vektoren für Trap #2 (GEM) und Trap #13 (BIOS).
Die XBRA-Kennung ist 'HBFS'.
Das Einschachteln des 'fsel_[ex]input()'-Aufrufes in 'wind_update()',
das in älteren Versionen dieser Doku empfohlen wurde, ist natürlich
problematisch, falls der Fileselector im Fenster läuft.
BoxKite legt zwei Cookies an: Zum einen den Standardcookie 'FSEL', zum
anderen einen eigenen Cookie namens 'HBFS'. Über den 'FSEL'-Cookie
wird eine Teilmenge der Selectric™-Programmierschnittstelle
realisiert. Diese Schnittstelle wurde von Stefan Radermacher
entwickelt, dem ich hiermit für die Genehmigung zur Verwendung dieser
Informationen danke. Der Wert des 'HBFS'-Cookies ist die
Einsprungadresse des Trap-2-Handlers von BoxKite. Wenn einer der
beiden Cookies beim Start von BoxKite schon existiert, wird BoxKite
nicht installiert, da in diesem Fall zu vermuten ist, daß schon ein
anderer residenter Fileselector installiert ist (der Klügere gibt
nach).
Auch auf die Gefahr hin, bereits Bekanntes zu wiederholen, möchte ich
hier die Funktionsweise der Selectric™-Schnittstelle beschreiben,
soweit sie auf BoxKite zutrifft. Der Wert des 'FSEL'-Cookies ist die
Adresse einer Datenstruktur, über die der Datenaustausch zwischen dem
Anwendungsprogramm und dem Fileselector erfolgt. Unter MiNT-Versionen
mit Speicherschutz ist diese Datenstruktur für Anwendungsprogramme nur
im Supervisor-Mode zugänglich. Die Datenstruktur wird in C
folgendermaßen deklariert:
typedef struct
{
unsigned long id; /* ID (`SLCT') */
unsigned int version; /* Version (BCD-Format) */
struct
{
unsigned : 8; /* reserviert */
unsigned pthsav : 1;
unsigned stdest : 1;
unsigned : 1;
unsigned numsrt : 1; /* numerisches Sortieren */
unsigned lower : 1;
unsigned dclick : 1; /* Ordner mit Doppelklick */
unsigned hidden : 1; /* versteckte Dateien */
unsigned onoff : 1; /* Fileselector AN/AUS */
} config;
int sort; /* Sortiermodus */
int num_ext; /* Anzahl Extensions */
char *(*ext)[]; /* Standard-Extensions */
int num_paths; /* Anzahl Pfade */
char *(*paths)[]; /* Standard-Pfade */
int comm; /* communication word */
int in_count; /* input counter */
void *in_ptr; /* input pointer */
int out_count; /* output counter */
void *out_ptr; /* output pointer */
int cdecl (*get_first)(XDTA *dta, int attrib);
int cdecl (*get_next)(XDTA *dta);
int cdecl (*release_dir)(void);
} SLCT_STR;
Die Felder 'in_count' und 'in_ptr' sind weder in Selectric noch in
BoxKite benutzt. Die Felder 'pthsav', 'stdest' und 'lower' haben für
Selectric eine Bedeutung, sind aber unter BoxKite als reserviert
anzusehen. Die Felder im Einzelnen:
- 'id': Dieses Langwort muß den Inhalt 'SLCT' haben.
Andernfalls wurde der 'FSEL'-Cookie von einem Fileselector
installiert, der das Selectric-Protokoll nicht versteht.
Bevor Sie das Selectric-Protokoll verwenden, müssen Sie also
dieses Feld testen.
- 'version': Hier steht die Versionsnummer des
Selectric-Protokolls im BCD-Format, also 0x100 für 1.0.
BoxKite trägt nunmehr die Nummer 1.02 ein.
- 'config': Die einzelenen Bits in diesem Wort schalten
bestimme Features von BoxKite bzw. Selectric ein oder aus.
Die folgenden Bits sind für BoxKite relevant:
onoff steht dieses Bit auf 0, so wird die
GEM-Dateiauswahl anstelle von Selectric bzw.
BoxKite benutzt.
hidden Gibt an, ob versteckte Dateien angezeigt werden
sollen.
dclick Ordner erst auf Doppelklick öffnen.
numsrt Schaltet die numerische Sortierung ein.
- 'sort': Konfiguriert das Sortierkriterium, dabei gelten
folgende Werte:
1 Sortiert nach dem Namen
2 nach Datum
3 nach Größe
4 nach Typ bzw. Extension
5 unsortiert
Negative Werte werden von BoxKite ignoriert.
- 'num_ext', 'ext': Über diese beiden Felder kann die
Anwendung die Liste von Dateitypen verändern. Dazu muß sie
in 'num_ext' die Anzahl der Typstrings eintragen, in 'ext'
die Adresse eines Arrays von Zeigern auf die fraglichen
Strings. Alle Strings, von denen in diesem Abschnitt die
Rede ist, sind selbstredend nullterminiert. Wenn der
Anwender BoxKite verläßt, wird 'ext' wieder auf die
BoxKite-eigene Liste zurückgebogen. Die Applikation muß
diese Felder also vor jedem fsel_input() bzw. fsel_exinput()
einstellen. Wenn 'ext' verstellt wird, sperrt BoxKite die
Funktion 'Typ merken' im Menu unter dem Pfadfeld. Das ist
erforderlich, da BoxKite nicht wissen kann, wieviel Platz
die Applikation für einen Typ reserviert hat.
- 'num_paths', 'paths': Mit diesen Feldern kann die
Applikation BoxKite eine neue Liste von Pfaden
unterschieben. Das Verfahren ist dasselbe wie oben. Auch
diese felder müssen vor jedem Aufruf eingestellt werden.
Wenn 'paths' verstellt wird, sperrt BoxKite die Funktion
'Pfad merken' und das Speichern des Pfades nach jeder
Auswahl.
Bemerkung dazu: Schon die Selectric-Dokumentation weist
darauf hin, daß Sie als Programmierer diese Features nur
dann nutzen sollten, wenn es unbedingt nötig ist und wenn
die Effekte für den Anwender verständlich sind. Bei BoxKite
kommt erschwerend dazu, daß Sie dadurch andere Features im
Fileselector blockieren.
P. S.: Wenn der Anwender "Arbeit sichern" betätigt, werden
die von BoxKite selbst gespeicherten Pfade und Typen
gesichert, NICHT die von der Applikation festgelegten.
- 'comm': Mit diesem Wort beginnt eigentlich der
interessanteste Teil des Selectric-Protokolls, nämlich die
Möglichkeit, mehr als einen Dateinamen auszuwählen. Dazu
werden auch noch die Felder 'out_count' und 'out_ptr'
benutzt. Es wird folgendes Verfahren verwendet: In
'out_count' gibt die Applikation an, wieviele Dateinamen sie
höchstens erwartet. In 'out_ptr' trägt sie eine Adresse ein,
an der sie diese Namen erwartet. In 'comm' gibt die
Applikation dann an, in welcher Art und Weise die Dateinamen
übergeben werden sollen. Wenn der Fileselector dann mit "Ok"
beendet wird, setzt er in 'out_count' die tatsächlich
ausgewählte Anzahl von Dateien ein und schreibt die Namen
nach der durch 'comm' bestimmten Methode nach 'out_ptr'.
Um überhaupt die Rückgabe mehrerer Dateinamen zu
veranlassen, muß die Applikation das Bit 0 in 'comm' auf 1
setzen. Wenn dann Bit 1 auf 0 steht, wird 'out_ptr' als
Adresse eines Arrays von Zeigern interpretiert, von denen
jeder auf den Speicher für einen Dateinamen verweist. Es
müssen mindestens so viele gültige Zeiger vorhanden sein,
wie 'out_count' angibt, und jeder Zeiger muß auf einen
hinreichend großen freien Speicherblock verweisen. ACHTUNG:
13 Bytes (incl. terminierender 0) sind NICHT genug, 33 Bytes
kommen der Sache schon näher. Ist Bit 1 gleich 1, so gilt
'out_ptr' als Adresse eines Strings, in den die Namen durch
Leerzeichen getrennt geschreiben werden. Der String muß groß
genug für 'out_count' Namen incl. Leerzeichen sein. Beachten
Sie auch hier, daß ein Name bis zu 32 Zeichen umfassen kann.
Diese zweite Variante kann aus Kompatibilitätsgründen nicht
anders implementiert werden; sie kann aber zu Problemen
führen, wenn Namen auftreten, die bereits Leerzeichen
enthalten. Das ist z. B. unter dem Minix-Dateisystem
durchaus erlaubt. Sie sollten sich also im Zweifel für die
erste Variante entscheiden.
- 'get_first': Dieses und die beiden folgenden Felder
enthalten die Adressen dreier Unterprogramme, die es
ermöglichen, eine theoretisch unbegrenzte Anzahl von
Dateinamen zurückzuerhalten. Dieses Protokoll ist identisch
mit Selectric™ 1.02 und wird z. B. von 1stView und 1stGuide
unterstützt. Aus Rücksicht auf die längeren Dateinamen habe
ich für BoxKite eine kleine Änderung festgelegt, die aber
die Funktion bestehender Programme nicht beeinflussen
dürfte.
Um dieses Protokoll zu starten, müssen Sie zunächst in
'comm' neben dem Bit 0 auch das Bit 3 auf 1 setzen. Wenn
'fsel_input()' dann signalisiert, daß der User 'Ok' gewählt
hat, rufen Sie zunächst 'get_first' auf. Diese Funktion
erwartet als Parameter (und zwar in C-Manier auf dem Stack)
einen Zeiger auf eine XDTA-Struktur und ein Attributwort.
Eine XDTA-Struktur ist wie folgt zu deklarieren:
typedef struct
{ char d_reserved[21];
unsigned char d_attrib;
unsigned int d_time;
unsigned int d_date;
unsigned long d_length;
char d_fname[34];
} XDTA;
Bis auf die Länge des Namensfeldes ist sie identisch mit der
Standard-TOS-DTA. Das Namensfeld wurde mit Rücksicht auf die
langen Dateinamen erweitert.
'get_first' funktioniert wie 'Fsfirst' und füllt die
XDTA-Struktur mit Informationen über die erste selektierte
Datei. Es werden nur solche Dateien zurückgegeben, die die
Attribute haben, die mit dem übergebenen Attributwort
korrespondieren (die Werte werden genauso behandelt wie von
GEMDOS bei Fsfirst(), d. h. Dateien mit den Attributen 0,
"Archiv" oder "schreibgeschützt" erscheinen immer). Wenn
eine Datei gefunden wurde, gibt 'get_first()' eine 0 zurück.
Dann können Sie mit 'get_next()' nacheinander alle weiteren
Dateien anfordern, bis ein Returncode ungleich 0 auftritt.
Danach sollten Sie 'release_dir()' aufrufen, woraufhin
BoxKite den von der Dateiliste belegten Speicher freigibt.
Spätestens beim nächsten Aufruf von BoxKite passiert das
auch automatisch, aber so lange sollten Sie eigentlich nicht
warten. Diesen ganzen Ablauf sollten Sie in 'wind_update'
einschachteln, damit kein anderer Prozeß auf die Idee kommt,
zwischenzeitlich eine Dateiauswahlbox aufzurufen. Falls
diese Beschreibung etwas zu abstrakt geraten ist, werfen Sie
einen Blick in BEISPIEL.C.
Seit Version 1.71 enthält BoxKite eine Schnittstelle, über die die
Hauptapplikation GEM-Messages, die sich auf hintenliegende Fenster
beziehen, erhalten kann. Damit entfällt der Redraw mit kleinen bunten
Doppeldeckern.
Das Grundprinzip ist ganz einfach. Sie übergeben an BoxKite im
'fsel_exinput()' als zusätzlichen Parameter die Einsprungadresse
einer Routine, die die Behandlung dieser Messages übernimmt. Diese
Routine muß in C folgendermaßen deklariert werden:
void cdecl message_handler(int *message)
Sie sollte also auf dem Stack (in C-Manier) als einzigen Parameter
einen Zeiger auf den Message-Puffer erwarten, der von 'evnt_multi()'
gefüllt wird. Einen Rückgabewert braucht sie nicht zu erzeugen. Vor
dem Aufruf dieser Routine schaltet BoxKite wieder auf den Stack der
Hauptapplikation um.
Der Zeiger auf diese Routine wird im GEM-Feld 'addrin' als vierter
Parameter an 'fsel_exinput()' übergeben. Um deutlich zu machen, daß
heir ein gültiger Zeiger steht, muß 'contrl[3]' auf 4 gesetzt werden.
Andere Fileselectoren sollten sich nicht an dieser Änderung stören.
In BEISPIEL.C finden Sie auch für dieses Feature ein Anwedungsbeispiel
sowie ein in diesem Sinne erweitertes Binding für 'fsel_exinput()'.
Dieses Binding läuft mit Pure C 1.1. Eine Assembler-Version desselben
Bindings liegt als Quelltext und als Objekt-Datei im DR-Format bei.